﻿#pragma once
#include <string>
#include <vector>
#include "opencv2/opencv.hpp"
class InferResult;
class Mat;
//class string;
class IInfer
{
public:
	virtual ~IInfer() {};
	virtual int infer(cv::Mat& src) = 0;
	virtual InferResult* getInferResult() = 0;
	virtual bool loadModelFile(const char* modelPath) = 0;
	virtual bool loadLabelFile(const char* filePath) = 0;
	virtual void setParams(float confidence = 0.25, float score = 0.25, float nms = 0.45) = 0;
	virtual std::string getLastError() = 0;
	virtual std::vector<std::string> getTestOutput() = 0;

};
